SELECT ist der verbreitetste SQL-Befehl:
SELECT [DISTINCT] <Attribut_1>, ..., <Attribut_N>
FROM <Tabelle>
WHERE <Auswahlbedingung>
[ORDER BY <Sortierkriterium> [DESC]]Das optionale Schlüsselwort DISTINCT garantiert, dass das Abfrageergebnis wieder eine relationale Tabelle (ohne Duplikate) ist. Wenn zum Beispiel gefragt wird, ob eine bestimmte Studentin eine Prüfung nach dem 30. März 2000 bestanden hat, so darf die Ergebnistabelle die Studentin nur ein einziges Mal erwähnen, obwohl sie seither vielleicht mehrere Prüfungen bestanden hat.
Das ebenfalls optionale ORDER BY ... DESC (in descendent order) sortiert die Ergebnistabelle absteigend. Fehlt DESC, so wird aufsteigend sortiert.
Ein Kombinationsfeld soll die Namen aller Veranstaltungen der Tabelle VERANSTALTUNG anzeigen. Datenherkunft sei die folgende SQL-Abfrage:
SELECT Veranstaltung FROM VERANSTALTUNG
Umgangssprachlich lautet die Abfrage:
Bilde eine Ergebnistabelle aus dem Attribut Veranstaltung der Tabelle VERANSTALTUNG.
Wenn das Feld VERANSTALTUNG nicht gleich dem Schlüsselattribut von VERANSTALTUNG ist, dann muss die Abfrage durch DISTINCT erweitert werden, damit keine Duplikate ausgegeben werden:
SELECT DISTINCT Veranstaltung FROM VERANSTALTUNG
In der Regel muss der Entwickler eine SQL-Anweisung nicht selbst formulieren. Access generiert aus der QBE-Entwurfsansicht oder aus einem anderen Dialog mit dem Benutzer automatisch den passenden SQL-Befehl. Generierte SQL-Anweisungen enthalten allerdings oft Redundanz. Zum Beispiel werden Feldnamen überflüssigerweise mit dem Tabellennamen qualifiziert (zum Beispiel VERANSTALTUNG.Veranstaltung statt nur Veranstaltung), Namen zwischen eckige Klammern gesetzt oder Trennzeichen wie Semikolons hinzugefügt. Access könnte zum Beispiel die obige Abfrage wie folgt generieren (Redundanz rot markiert):
SELECT DISTINCT [VERANSTALTUNG].[Veranstaltung] FROM VERANSTALTUNG;
Eine SQL-Abfrage, die sich nicht in
QBE darstellen lässt
![]()
SELECT-Anweisung